Browse Source

init

master
han\hanst 1 month ago
parent
commit
7a3900f778
  1. 676
      src/views/common/home.vue
  2. 22
      src/views/modules/longchuang/production-plan-home-order.vue
  3. 22
      src/views/modules/longchuang/production-plan-renovation-order.vue
  4. 20
      src/views/modules/longchuang/production-work-report.vue
  5. 2
      src/views/modules/sift/advancedSearchCenter.vue

676
src/views/common/home.vue

@ -1,70 +1,674 @@
<template>
<div class="mod-home">
<div v-if="appName==='CKP'" style="width: 100%;height: 100%">
<iframe frameborder="0" style="width: 100%;height: 100%" :src="url"> </iframe>
<div class="mod-advanced-search-center">
<div class="page-header">
<div class="title">高级搜索</div>
<div class="actions">
<el-button :loading="schemeLoading" @click="loadSavedSchemeList">刷新</el-button>
<el-button type="primary" @click="openCreateDialog()">新建</el-button>
</div>
<div v-else>
<h3>旭捷</h3>
<ul>
<li><h3>欢迎: {{ userName }}!!!</h3></li>
</ul>
</div>
<el-empty v-if="!schemeLoading && schemeList.length === 0" description="当前用户暂无已保存方案"></el-empty>
<div class="card-grid" v-loading="schemeLoading">
<div
class="scheme-card"
v-for="row in schemeList"
:key="row.schemeKey"
@click="gotoSchemeResult(row)">
<div class="count-badge">{{ row.count === null ? '-' : row.count }}</div>
<div class="scheme-title">{{ row.itemDesc || '未命名方案' }}</div>
<div class="scheme-module">{{ row.menuName }}</div>
<div class="condition-list">
<div v-if="!row.conditionPreviewList.length" class="condition-empty">未设置条件</div>
<div v-for="(line, idx) in row.conditionPreviewList" :key="idx" class="condition-line">{{ line }}</div>
</div>
<div class="card-footer">
<el-button type="text" size="mini" style="color:#f56c6c" :loading="deletingKey === row.schemeKey" @click.stop="deleteScheme(row)">删除</el-button>
<el-button type="text" size="mini" @click.stop="openEditDialog(row)">编辑</el-button>
</div>
</div>
</div>
<el-dialog
:title="dialogMode === 'edit' ? '编辑方案' : '新建方案'"
:visible.sync="settingDialogVisible"
width="40%"
:close-on-click-modal="false">
<el-form :inline="true" label-position="top">
<el-form-item label="菜单">
<el-select
v-model="editForm.menuId"
filterable
placeholder="请选择菜单"
style="width: 220px"
:disabled="dialogMode === 'edit'"
@change="handleEditMenuChange">
<el-option v-for="item in menuOptions" :key="item.menuId" :label="item.name" :value="item.menuId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="方案名称">
<el-input v-model="editForm.itemDesc" clearable placeholder="请输入方案名称" style="width: 220px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button :loading="editLoading" @click="loadEditFields">读取菜单搜索字段</el-button>
<el-button type="primary" :loading="editSaving" @click="saveScheme">保存</el-button>
</el-form-item>
</el-form>
<el-table
ref="editFieldTable"
:data="editFieldList"
border
stripe
class="board-table"
height="50vh"
v-loading="editLoading"
@selection-change="handleEditSelectionChange">
<el-table-column type="selection" width="44"></el-table-column>
<el-table-column prop="fieldCaption" label="字段名称" min-width="180" show-overflow-tooltip></el-table-column>
<el-table-column label="条件符号" width="130">
<template slot-scope="{ row }">
<el-select v-model="row.symbol" clearable :disabled="!isEditRowSelected(row)">
<el-option v-for="item in symbolOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="条件值" min-width="220">
<template slot-scope="{ row }">
<el-input v-model="row.formula" clearable :disabled="!isEditRowSelected(row)"></el-input>
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
import {searchSysLanguagePack} from "../../api/sysLanguage";
import {
searchCenterMenuSearchFields,
saveCenterScheme,
searchSavedSchemeSummary,
searchSavedSchemeCount,
resolveSavedSchemeRoute,
searchUserSettingRecording,
updateQueryHeaderDetail,
removeQueryHeaderDetail
} from '@/api/sift/queryUserSetting'
import { resolveMenuSearchFieldsByMeta } from '../modules/sift/menuSearchFieldResolver'
export default {
name: 'home',
data () {
return {
// url:"http://xujiesoft.vicp.net:9191/bi/Show?uid=be15368c-bceb-11ef-9785-000c29f2c2b8",
//url:"http://192.168.1.90:9191/chart/reportShow?uid=3c800188-b04b-11ef-abf0-000c2947c1cd",
url:"http://172.26.68.20:9191/bi/Show?uid=eefa66f1-b058-11ef-a145-3868dd5b136a",
appName:this.$store.state.common.appName,
schemeLoading: false,
routeResolvingKey: '',
menuFlatList: [],
schemeList: [],
settingDialogVisible: false,
dialogMode: 'create',
editLoading: false,
editSaving: false,
deleting: false,
deletingKey: '',
editFieldList: [],
editSelectedFieldNameSet: {},
editForm: {
menuId: '',
itemNo: null,
itemDesc: '',
caseInsensitive: true
},
symbolOptions: [
{ value: 'eq', label: '等于' },
{ value: 'gt', label: '大于' },
{ value: 'ge', label: '大于等于' },
{ value: 'lt', label: '小于' },
{ value: 'le', label: '小于等于' },
{ value: 'between', label: '之间' },
{ value: 'in', label: '或者' },
{ value: 'ne', label: '不等于' },
{ value: 'like', label: 'LIKE' }
],
symbolLabelMap: {
eq: '=',
gt: '>',
ge: '>=',
lt: '<',
le: '<=',
between: 'between',
in: 'in',
ne: '!=',
like: 'like'
}
}
},
computed: {
menuOptions () {
return this.menuFlatList.filter(item => item.url && !item.hasChildren && !/^https?:\/\//i.test(item.url))
}
},
activated () {
this.initMenuContext()
this.loadSavedSchemeList()
},
methods: {
languageRefresh(){
console.log("欢迎使用 旭捷管理系统!!!")
initMenuContext () {
var menuList = this.$store.state.common.menuList || []
if (!menuList.length) {
menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
}
this.menuFlatList = this.flattenMenuList(menuList)
},
languagePack() {
// searchSysLanguagePack().then(({data}) => {
// this.$i18n.mergeLocaleMessage('en', data.data.en)
// this.$i18n.mergeLocaleMessage('cn', data.data.cn)
// })
flattenMenuList (tree, result) {
var list = result || []
if (!tree || !tree.length) {
return list
}
for (var i = 0; i < tree.length; i++) {
var item = tree[i] || {}
var childList = item.list || []
list.push({
menuId: item.menuId,
name: item.name,
url: item.url || '',
hasChildren: !!(childList && childList.length)
})
if (childList && childList.length) {
this.flattenMenuList(childList, list)
}
}
return list
},
computed: {
userName: {
get() {
return this.$store.state.user.userDisplay
extractListFromResp (data) {
if (!data) {
return []
}
if (Array.isArray(data.rows)) {
return data.rows
}
if (Array.isArray(data.list)) {
return data.list
}
if (Array.isArray(data.data)) {
return data.data
}
return []
},
mainTabs: {
get() {
return this.$store.state.common.mainTabs
buildSchemeKey (item) {
return [item.menuId || '', item.itemNo || '', item.savedSearchId || item.id || ''].join('_')
},
set(val) {
this.$store.commit('common/updateMainTabs', val)
buildConditionPreviewList (detailList) {
if (!detailList || !detailList.length) {
return []
}
return detailList
.filter(item => item && item.symbol && item.formula)
.slice(0, 4)
.map(item => {
var fieldName = item.fieldCaption || item.fieldName || ''
var symbol = this.symbolLabelMap[item.symbol] || item.symbol
return fieldName + ' ' + symbol + ' ' + item.formula
})
},
toSnakeCaseFieldName (name) {
if (!name) {
return ''
}
return String(name)
.replace(/([A-Z])/g, '_$1')
.replace(/-/g, '_')
.toLowerCase()
},
beforeMount() {
this.languageRefresh()
this.languagePack()
normalizeOriginalFieldForSql (item) {
var row = Object.assign({}, item || {})
var fieldName = row.fieldName ? String(row.fieldName) : ''
var originalField = row.originalField ? String(row.originalField) : ''
if (!originalField && fieldName) {
row.originalField = this.toSnakeCaseFieldName(fieldName)
return row
}
if (originalField && /[A-Z]/.test(originalField) && !/\s|\(|\)|\./.test(originalField)) {
row.originalField = this.toSnakeCaseFieldName(originalField)
}
return row
},
async loadSavedSchemeList () {
this.schemeLoading = true
try {
var userId = String(this.$store.state.user.id)
var summaryResp = await searchSavedSchemeSummary({ userId: userId })
var summaryData = summaryResp && summaryResp.data ? summaryResp.data : {}
if (!(summaryData && summaryData.code === 0)) {
this.schemeList = []
return
}
var summaryRows = this.extractListFromResp(summaryData).map(item => Object.assign({}, item, { count: null }))
if (!summaryRows.length) {
this.schemeList = []
return
}
var countResp = await searchSavedSchemeCount({
userId: userId,
schemeList: summaryRows.map(item => ({
menuId: item.menuId,
itemNo: item.itemNo,
savedSearchId: item.savedSearchId || item.id
}))
})
var countData = countResp && countResp.data ? countResp.data : {}
var countMap = {}
if (countData && countData.code === 0) {
this.extractListFromResp(countData).forEach(item => {
countMap[this.buildSchemeKey(item)] = item.count
})
}
var detailRespList = await Promise.all(summaryRows.map(item => {
return searchUserSettingRecording({
menuId: item.menuId,
userId: userId,
itemNo: item.itemNo
}).catch(() => null)
}))
var detailMap = {}
detailRespList.forEach((resp, idx) => {
var key = this.buildSchemeKey(summaryRows[idx])
var data = resp && resp.data ? resp.data : {}
detailMap[key] = data && data.code === 0 ? this.extractListFromResp(data) : []
})
this.schemeList = summaryRows.map(item => {
var key = this.buildSchemeKey(item)
var menu = this.menuFlatList.find(m => String(m.menuId) === String(item.menuId))
return Object.assign({}, item, {
schemeKey: key,
count: countMap[key] !== undefined ? countMap[key] : null,
menuName: item.menuName || (menu ? menu.name : ('菜单' + item.menuId)),
conditionPreviewList: this.buildConditionPreviewList(detailMap[key])
})
})
} catch (e) {
this.schemeList = []
} finally {
this.schemeLoading = false
}
},
async gotoSchemeResult (row) {
this.routeResolvingKey = row.schemeKey
try {
var resp = await resolveSavedSchemeRoute({
userId: String(this.$store.state.user.id),
menuId: row.menuId,
itemNo: row.itemNo,
savedSearchId: row.savedSearchId || row.id || ''
})
var data = resp && resp.data ? resp.data : {}
if (!(data && data.code === 0)) {
this.$message.warning((data && data.msg) || '获取跳转信息失败')
return
}
var routeRows = this.extractListFromResp(data)
var routeRow = routeRows && routeRows.length ? routeRows[0] : {}
var query = {
savedSearchId: row.savedSearchId || row.id || '',
menuId: row.menuId || '',
itemNo: row.itemNo || ''
}
if (routeRow.routeName) {
this.$router.push({ name: routeRow.routeName, query: query })
return
}
if (routeRow.routePath) {
this.$router.push({ path: routeRow.routePath, query: query })
return
}
this.$message.warning('该方案暂不支持跳转')
} catch (e) {
this.$message.error('跳转失败')
} finally {
this.routeResolvingKey = ''
}
},
openCreateDialog () {
this.dialogMode = 'create'
this.settingDialogVisible = true
this.newScheme()
},
openEditDialog (row) {
this.dialogMode = 'edit'
this.settingDialogVisible = true
this.newScheme()
this.editForm.menuId = row.menuId
this.editForm.itemNo = row.itemNo
this.editForm.itemDesc = row.itemDesc
this.editForm.caseInsensitive = true
this.loadEditFields()
},
newScheme () {
this.editForm = {
menuId: '',
itemNo: null,
itemDesc: '',
caseInsensitive: true
}
this.editFieldList = []
this.editSelectedFieldNameSet = {}
if (this.$refs.editFieldTable) {
this.$refs.editFieldTable.clearSelection()
}
},
handleEditMenuChange () {
if (this.dialogMode !== 'edit') {
this.editForm.itemNo = null
}
this.editFieldList = []
this.editSelectedFieldNameSet = {}
if (this.$refs.editFieldTable) {
this.$refs.editFieldTable.clearSelection()
}
},
async loadEditFields () {
if (!this.editForm.menuId) {
this.$message.warning('请先选择菜单')
return
}
this.editLoading = true
try {
var userId = String(this.$store.state.user.id)
var currentMenu = this.menuFlatList.find(item => String(item.menuId) === String(this.editForm.menuId))
var list = resolveMenuSearchFieldsByMeta({
menuId: this.editForm.menuId,
menuUrl: currentMenu ? currentMenu.url : ''
})
if (!list.length) {
var baseResp = await searchCenterMenuSearchFields({
menuId: this.editForm.menuId,
userId: userId
})
var baseData = baseResp && baseResp.data ? baseResp.data : {}
if (!(baseData && baseData.code === 0)) {
this.$message.warning((baseData && baseData.msg) || '读取菜单字段失败')
this.editFieldList = []
return
}
list = this.extractListFromResp(baseData)
}
list = list.map((item, idx) => {
var normalizedItem = this.normalizeOriginalFieldForSql(item)
return Object.assign({}, normalizedItem, {
symbol: '',
formula: '',
sortBy: '',
orderSeq: idx + 1
})
})
this.editFieldList = list
this.editSelectedFieldNameSet = {}
if (this.$refs.editFieldTable) {
this.$refs.editFieldTable.clearSelection()
}
if (this.editForm.itemNo) {
var detailResp = await searchUserSettingRecording({
menuId: this.editForm.menuId,
userId: userId,
itemNo: this.editForm.itemNo
})
var detailData = detailResp && detailResp.data ? detailResp.data : {}
if (detailData && detailData.code === 0) {
var detailList = this.extractListFromResp(detailData)
var detailMap = {}
detailList.forEach(item => { detailMap[item.fieldName] = item })
var selectedMap = {}
this.editFieldList = this.editFieldList.map(item => {
var detail = detailMap[item.fieldName]
if (!detail) {
return item
}
selectedMap[item.fieldName] = true
return Object.assign({}, item, {
symbol: detail.symbol || '',
formula: detail.formula || '',
sortBy: detail.sortBy || '',
orderSeq: detail.orderSeq || item.orderSeq
})
})
this.editSelectedFieldNameSet = selectedMap
this.$nextTick(() => {
if (!this.$refs.editFieldTable) {
return
}
this.editFieldList.forEach(row => {
if (selectedMap[row.fieldName]) {
this.$refs.editFieldTable.toggleRowSelection(row, true)
}
})
})
}
}
} catch (e) {
this.$message.error('读取字段异常')
this.editFieldList = []
} finally {
this.editLoading = false
}
},
handleEditSelectionChange (list) {
var map = {}
list.forEach(item => { map[item.fieldName] = true })
this.editSelectedFieldNameSet = map
},
isEditRowSelected (row) {
return !!this.editSelectedFieldNameSet[row.fieldName]
},
async saveScheme () {
if (!this.editForm.menuId) {
this.$message.warning('请先选择菜单')
return
}
if (!this.editForm.itemDesc || !this.editForm.itemDesc.trim()) {
this.$message.warning('请输入方案名称')
return
}
var selectedList = this.editFieldList.filter(item => this.isEditRowSelected(item))
if (!selectedList.length) {
this.$message.warning('请至少勾选一个字段')
return
}
this.editSaving = true
try {
var userId = String(this.$store.state.user.id)
var payload = {
menuId: this.editForm.menuId,
userId: userId,
dtsName: 'ADOQResult',
itemNo: this.editForm.itemNo,
itemDesc: this.editForm.itemDesc.trim(),
caseSensitiveFlag: this.editForm.caseInsensitive ? 'N' : 'Y',
querySavedDetailList: selectedList.map(item => {
var normalizedItem = this.normalizeOriginalFieldForSql(item)
return Object.assign({}, normalizedItem, {
menuId: this.editForm.menuId,
userId: userId,
itemNo: this.editForm.itemNo,
itemDesc: this.editForm.itemDesc.trim(),
dtsName: item.dtsName || 'ADOQResult'
})
})
}
var resp = null
if (this.editForm.itemNo) {
resp = await updateQueryHeaderDetail(payload)
} else {
delete payload.itemNo
resp = await saveCenterScheme(payload)
}
var data = resp && resp.data ? resp.data : {}
if (data && data.code === 0) {
this.$message.success(data.msg || '保存成功')
await this.loadSavedSchemeList()
if (!this.editForm.itemNo) {
this.newScheme()
}
return
}
this.$message.warning((data && data.msg) || '保存失败')
} catch (e) {
this.$message.error('保存方案异常')
} finally {
this.editSaving = false
}
},
async deleteScheme (row) {
if (!row || !row.itemNo) {
this.$message.warning('请选择需要删除的方案')
return
}
try {
await this.$confirm('确认删除该方案吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
} catch (e) {
return
}
this.deleting = true
this.deletingKey = row.schemeKey || ''
try {
var resp = await removeQueryHeaderDetail({
menuId: row.menuId,
userId: String(this.$store.state.user.id),
itemNo: row.itemNo,
itemDesc: row.itemDesc
})
var data = resp && resp.data ? resp.data : {}
if (data && data.code === 0) {
this.$message.success(data.msg || '删除成功')
await this.loadSavedSchemeList()
if (this.settingDialogVisible &&
this.dialogMode === 'edit' &&
String(this.editForm.menuId) === String(row.menuId) &&
Number(this.editForm.itemNo) === Number(row.itemNo)) {
this.settingDialogVisible = false
this.newScheme()
}
return
}
this.$message.warning((data && data.msg) || '删除失败')
} catch (e) {
this.$message.error('删除方案异常')
} finally {
this.deleting = false
this.deletingKey = ''
}
}
}
}
</script>
<style>
.mod-home {
line-height: 1.5;
height: 91vh;
.mod-advanced-search-center {
padding: 12px;
}
.board-table .cell {
line-height: 20px;
height: 20px;
}
.page-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 12px;
}
.title {
font-size: 18px;
font-weight: 600;
color: #303133;
}
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 12px;
}
.scheme-card {
position: relative;
border-radius: 10px;
border: 1px solid #ebeef5;
background: linear-gradient(160deg, #ffffff, #f7f9fc);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
padding: 12px;
cursor: pointer;
transition: all 0.2s ease;
}
.scheme-card:hover {
transform: translateY(-2px);
box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}
.count-badge {
position: absolute;
top: 8px;
right: 10px;
min-width: 28px;
padding: 2px 8px;
border-radius: 12px;
background: #1abc9c;
color: #fff;
font-size: 12px;
text-align: center;
}
.scheme-title {
font-size: 15px;
font-weight: 600;
color: #303133;
margin-right: 48px;
margin-bottom: 6px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.scheme-module {
font-size: 12px;
color: #909399;
margin-bottom: 8px;
}
.condition-list {
min-height: 72px;
max-height: 84px;
overflow: hidden;
}
.condition-line {
font-size: 12px;
color: #606266;
line-height: 1.6;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.condition-empty {
font-size: 12px;
color: #c0c4cc;
line-height: 1.8;
}
.card-footer {
display: flex;
justify-content: space-between;
gap: 4px;
margin-top: 8px;
}
</style>

22
src/views/modules/longchuang/production-plan-home-order.vue

@ -2,26 +2,26 @@
<div class="mod-config">
<el-form :inline="true" label-position="top" class="query-form">
<el-form-item label="项目号">
<el-input v-model="queryHeaderData.projectNo" clearable placeholder="请输入项目号" style="width: 140px"></el-input>
<el-input v-model="searchData.projectNo" clearable placeholder="请输入项目号" style="width: 140px"></el-input>
</el-form-item>
<el-form-item label="型号">
<el-input v-model="queryHeaderData.modelNo" clearable placeholder="请输入型号" style="width: 140px"></el-input>
<el-input v-model="searchData.modelNo" clearable placeholder="请输入型号" style="width: 140px"></el-input>
</el-form-item>
<el-form-item label="颜色">
<el-input v-model="queryHeaderData.color" clearable placeholder="请输入颜色" style="width: 120px"></el-input>
<el-input v-model="searchData.color" clearable placeholder="请输入颜色" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryHeaderData.status" clearable placeholder="全部" style="width: 120px">
<el-select v-model="searchData.status" clearable placeholder="全部" style="width: 120px">
<el-option label="已排产" value="已排产"></el-option>
<el-option label="进行中" value="进行中"></el-option>
<el-option label="已完成" value="已完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="计划发货日期">
<el-date-picker v-model="queryHeaderData.deliveryStartDate" type="date" value-format="yyyy-MM-dd" placeholder="开始" style="width: 130px"></el-date-picker>
<el-date-picker v-model="searchData.deliveryStartDate" type="date" value-format="yyyy-MM-dd" placeholder="开始" style="width: 130px"></el-date-picker>
</el-form-item>
<el-form-item label="至">
<el-date-picker v-model="queryHeaderData.deliveryEndDate" type="date" value-format="yyyy-MM-dd" placeholder="结束" style="width: 130px"></el-date-picker>
<el-date-picker v-model="searchData.deliveryEndDate" type="date" value-format="yyyy-MM-dd" placeholder="结束" style="width: 130px"></el-date-picker>
</el-form-item>
<el-form-item label=" " style="margin-top: -11px">
<el-button @click="getDataList('Y')" plain class="search-btn">查询</el-button>
@ -206,7 +206,7 @@ export default {
name: 'ProductionPlanHomeOrder',
data() {
return {
queryHeaderData: { projectNo: '', modelNo: '', color: '', status: '', deliveryStartDate: '', deliveryEndDate: '', page: 1, limit: 20 },
searchData: { projectNo: '', modelNo: '', color: '', status: '', deliveryStartDate: '', deliveryEndDate: '', page: 1, limit: 20 },
saveHeaderData: {},
reportData: { id: 0, projectNo: '', nodeCode: '', remark: '' },
reportNodeOptions: [],
@ -231,10 +231,10 @@ export default {
methods: {
getDataList(flag) {
if (flag === 'Y') this.pageIndex = 1
this.queryHeaderData.page = this.pageIndex
this.queryHeaderData.limit = this.pageSize
this.searchData.page = this.pageIndex
this.searchData.limit = this.pageSize
this.dataListLoading = true
getHomeLiftOrderList(this.queryHeaderData).then(({data}) => {
getHomeLiftOrderList(this.searchData).then(({data}) => {
this.dataListLoading = false
if (data && data.code === 0) {
this.dataList = (data.page.list || []).map(this.normalizeRow)
@ -301,7 +301,7 @@ export default {
})
},
resetQuery() {
this.queryHeaderData = { projectNo: '', modelNo: '', color: '', status: '', deliveryStartDate: '', deliveryEndDate: '', page: 1, limit: 20 }
this.searchData = { projectNo: '', modelNo: '', color: '', status: '', deliveryStartDate: '', deliveryEndDate: '', page: 1, limit: 20 }
this.getDataList('Y')
},
openEditDialog(row) {

22
src/views/modules/longchuang/production-plan-renovation-order.vue

@ -2,26 +2,26 @@
<div class="mod-config">
<el-form :inline="true" label-position="top" class="query-form">
<el-form-item label="项目号">
<el-input v-model="queryHeaderData.projectNo" clearable placeholder="请输入项目号" style="width: 140px"></el-input>
<el-input v-model="searchData.projectNo" clearable placeholder="请输入项目号" style="width: 140px"></el-input>
</el-form-item>
<el-form-item label="型号">
<el-input v-model="queryHeaderData.modelNo" clearable placeholder="请输入型号" style="width: 140px"></el-input>
<el-input v-model="searchData.modelNo" clearable placeholder="请输入型号" style="width: 140px"></el-input>
</el-form-item>
<el-form-item label="颜色">
<el-input v-model="queryHeaderData.color" clearable placeholder="请输入颜色" style="width: 120px"></el-input>
<el-input v-model="searchData.color" clearable placeholder="请输入颜色" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryHeaderData.status" clearable placeholder="全部" style="width: 120px">
<el-select v-model="searchData.status" clearable placeholder="全部" style="width: 120px">
<el-option label="已排产" value="已排产"></el-option>
<el-option label="进行中" value="进行中"></el-option>
<el-option label="已完成" value="已完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="计划发货日期">
<el-date-picker v-model="queryHeaderData.deliveryStartDate" type="date" value-format="yyyy-MM-dd" placeholder="开始" style="width: 130px"></el-date-picker>
<el-date-picker v-model="searchData.deliveryStartDate" type="date" value-format="yyyy-MM-dd" placeholder="开始" style="width: 130px"></el-date-picker>
</el-form-item>
<el-form-item label="至">
<el-date-picker v-model="queryHeaderData.deliveryEndDate" type="date" value-format="yyyy-MM-dd" placeholder="结束" style="width: 130px"></el-date-picker>
<el-date-picker v-model="searchData.deliveryEndDate" type="date" value-format="yyyy-MM-dd" placeholder="结束" style="width: 130px"></el-date-picker>
</el-form-item>
<el-form-item label=" " style="margin-top: -11px">
<el-button @click="getDataList('Y')" plain class="search-btn">查询</el-button>
@ -142,7 +142,7 @@ export default {
name: 'ProductionPlanRenovationOrder',
data() {
return {
queryHeaderData: { projectNo: '', modelNo: '', color: '', status: '', deliveryStartDate: '', deliveryEndDate: '', page: 1, limit: 20 },
searchData: { projectNo: '', modelNo: '', color: '', status: '', deliveryStartDate: '', deliveryEndDate: '', page: 1, limit: 20 },
saveHeaderData: {},
reportData: { id: 0, projectNo: '', nodeCode: '', remark: '' },
reportNodeOptions: [],
@ -163,10 +163,10 @@ export default {
methods: {
getDataList(flag) {
if (flag === 'Y') this.pageIndex = 1
this.queryHeaderData.page = this.pageIndex
this.queryHeaderData.limit = this.pageSize
this.searchData.page = this.pageIndex
this.searchData.limit = this.pageSize
this.dataListLoading = true
getRenovationOrderList(this.queryHeaderData).then(({data}) => {
getRenovationOrderList(this.searchData).then(({data}) => {
this.dataListLoading = false
if (data && data.code === 0) {
this.dataList = (data.page.list || []).map(this.normalizeRow)
@ -224,7 +224,7 @@ export default {
this.totalPage = this.dataList.length
},
resetQuery() {
this.queryHeaderData = { projectNo: '', modelNo: '', color: '', status: '', deliveryStartDate: '', deliveryEndDate: '', page: 1, limit: 20 }
this.searchData = { projectNo: '', modelNo: '', color: '', status: '', deliveryStartDate: '', deliveryEndDate: '', page: 1, limit: 20 }
this.getDataList('Y')
},
openEditDialog(row) {

20
src/views/modules/longchuang/production-work-report.vue

@ -43,10 +43,10 @@
</template>
<el-form :inline="true" label-position="top" class="search-form">
<el-form-item label="项目号">
<el-input v-model="queryHeaderData.projectNo" placeholder="支持模糊查询" clearable style="width: 150px"></el-input>
<el-input v-model="searchData.projectNo" placeholder="支持模糊查询" clearable style="width: 150px"></el-input>
</el-form-item>
<el-form-item label="订单类型">
<el-select v-model="queryHeaderData.orderType" placeholder="请选择" clearable style="width: 150px">
<el-select v-model="searchData.orderType" placeholder="请选择" clearable style="width: 150px">
<el-option label="全部" value=""></el-option>
<el-option label="家用电梯" value="HOME_LIFT"></el-option>
<el-option label="线缆COP" value="CABLE_COP"></el-option>
@ -54,7 +54,7 @@
</el-select>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryHeaderData.status" placeholder="请选择" clearable style="width: 120px">
<el-select v-model="searchData.status" placeholder="请选择" clearable style="width: 120px">
<el-option label="全部" value=""></el-option>
<el-option label="已排产" value="已排产"></el-option>
<el-option label="进行中" value="进行中"></el-option>
@ -63,7 +63,7 @@
</el-form-item>
<el-form-item label="计划日期">
<el-date-picker
v-model="queryHeaderData.planStartDate"
v-model="searchData.planStartDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="开始日期"
@ -72,7 +72,7 @@
</el-form-item>
<el-form-item label="至">
<el-date-picker
v-model="queryHeaderData.planEndDate"
v-model="searchData.planEndDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="结束日期"
@ -258,7 +258,7 @@ export default {
data() {
return {
searchExpanded: ['0'],
queryHeaderData: {
searchData: {
projectNo: '',
orderType: '',
status: '',
@ -306,9 +306,9 @@ export default {
if (flag === 'Y') {
this.pageIndex = 1
}
this.queryHeaderData.page = this.pageIndex
this.queryHeaderData.limit = this.pageSize
getWorkReportOrderList(this.queryHeaderData).then(({ data }) => {
this.searchData.page = this.pageIndex
this.searchData.limit = this.pageSize
getWorkReportOrderList(this.searchData).then(({ data }) => {
if (data && data.code === 0) {
const page = data.page || {}
const list = page.list || []
@ -350,7 +350,7 @@ export default {
return map[orderType] || orderType || '-'
},
resetQuery() {
this.queryHeaderData = {
this.searchData = {
projectNo: '',
orderType: '',
status: '',

2
src/views/modules/sift/advancedSearchCenter.vue

@ -1,7 +1,7 @@
<template>
<div class="mod-advanced-search-center">
<div class="page-header">
<div class="title">我的高级搜索方案</div>
<div class="title">高级搜索方案</div>
<div class="actions">
<el-button :loading="schemeLoading" @click="loadSavedSchemeList">刷新</el-button>
<el-button type="primary" @click="openCreateDialog()">设置方案</el-button>

Loading…
Cancel
Save