| | |
| | | import {useI18n} from 'vue-i18n' |
| | | import useUserInfoStore from '@/stores/userInfo' |
| | | import {toolbarButtonClickEvent} from "@/hook/mouseMove"; |
| | | import footSum from "@/hook/footSum" |
| | | import userInfo from "@/stores/userInfo" |
| | | import useOrderInfoStore from "@/stores/sd/order/orderInfo" |
| | | |
| | | //语言获取 |
| | | const {t} = useI18n() |
| | | const userStore = useUserInfoStore() |
| | | const user=userInfo() |
| | | const orderInfo = useOrderInfoStore() |
| | | |
| | | let productGlassTypeStore = useProductGlassTypeStore() |
| | | let router = useRouter() |
| | | let props = defineProps({ |
| | |
| | | break |
| | | } |
| | | case 'delete': { |
| | | request.post(`/processCard/deleteFlowCard/${row.orderId}/${row.processId}`).then((res) => { |
| | | request.post(`/processCard/deleteFlowCard/${row.orderId}/${row.processId}/${user.user.userId}/${user.user.userName}`).then((res) => { |
| | | if (res.code == 200 && res.data === true) { |
| | | ElMessage.success(t('workOrder.deleteOk')) |
| | | router.push({path: '/main/processCard/SelectProcessCard', query: {random: Math.random()}}) |
| | | } else { |
| | | ElMessage.warning('删除失败,检查流程卡是否已报工') |
| | | ElMessage.warning(t('processCard.deleteNo')) |
| | | } |
| | | }) |
| | | |
| | |
| | | //定义变量 |
| | | const form = reactive({ |
| | | date1: '', |
| | | getSelect:'不可排版' |
| | | getSelect:t('processCard.composingNo') |
| | | }) |
| | | |
| | | |
| | |
| | | |
| | | //获取七天前到当前时间 |
| | | function getNowTime() { |
| | | const start = new Date(new Date().getTime() - 3600 * 1000 * 24 * 7) |
| | | const start = new Date(new Date().getTime() - 3600 * 1000 * 24 * 15) |
| | | .toISOString() |
| | | .replace('T', ' ') |
| | | .slice(0, 10) //默认开始时间7天前 |
| | |
| | | |
| | | |
| | | //第一次加载获取近七天时间和默认状态 |
| | | form.date1 = getNowTime() |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | if (orderInfo.workOrderDate[0]=="" && orderInfo.workOrderDate[1]==""){ |
| | | orderInfo.workOrderDate=getNowTime() |
| | | } |
| | | let startTime = orderInfo.workOrderDate[0] |
| | | let endTime = orderInfo.workOrderDate[1] |
| | | let total = reactive({ |
| | | pageTotal: 0, |
| | | dataTotal: 0, |
| | |
| | | |
| | | //页脚翻页查询 |
| | | const selectPageList = () => { |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let startTime = orderInfo.workOrderDate[0] |
| | | let endTime = orderInfo.workOrderDate[1] |
| | | request.post(`/processCard/flowCard/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | |
| | | //点击查询 |
| | | const getWorkOrder = () => { |
| | | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let startTime = orderInfo.workOrderDate[0] |
| | | let endTime = orderInfo.workOrderDate[1] |
| | | request.post(`/processCard/flowCard/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total * 1 |
| | |
| | | } |
| | | |
| | | //获取选中时间 |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let startTime = orderInfo.workOrderDate[0] |
| | | let endTime = orderInfo.workOrderDate[1] |
| | | |
| | | request.post(`/processCard/flowCard/1/${total.pageSize}/${startTime}/${endTime}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | |
| | | align: 'center',//文字居中 |
| | | stripe: true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true, height: 30},//鼠标移动或选择高亮 |
| | | id: 'CustomerList', |
| | | id: 'SelectProcessCard', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | |
| | | columns: [ |
| | | {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50}, |
| | | {type: 'checkbox', fixed: "left", title: t('basicData.check'), width: 80}, |
| | | {title: t('basicData.operate'), width: 100, slots: {default: 'button_slot'}, fixed: "left"}, |
| | | {title: t('basicData.operate'), width: 90, slots: {default: 'button_slot'}, fixed: "left"}, |
| | | {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50}, |
| | | {field: 'orderId', title: t('order.orderId'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, width: 110}, |
| | | {field: 'order.customerName', title: t('processCard.customerName'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, width: 110}, |
| | | { |
| | | field: 'processId', |
| | | width: 140, |
| | |
| | | {field: 'founder', title: t('processCard.founder'),}, |
| | | {field: 'orderDetail.processingNote', title: t('order.processingNote'),}, |
| | | |
| | | {field: 'layoutStatus',width:100, title: t('processCard.layoutStatus'), filters: [{data: ''}], slots: {filter: 'select_filter'}} |
| | | {field: 'layoutStatus',width:100, title: t('processCard.layoutStatus'), filters: [{data: ''}], slots: {filter: 'select_filter'}}, |
| | | {field: 'merge',width:100, title: t('processCard.mergeState'), filters: [{data: ''}], slots: {filter: 'num1_filter'}} |
| | | ],//表头按钮 |
| | | |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | {code: 'update', name: '排版', status: 'primary'}, |
| | | {code: 'update', name: t('processCard.composing'), status: 'primary'}, |
| | | {code: 'delete', name: t('basicData.delete'), status: 'primary'}, |
| | | ], |
| | | import: false, |
| | | // export: true, |
| | |
| | | }, |
| | | data: [],//table body实际数据 |
| | | //脚部求和 |
| | | footerMethod({columns, data}) {//页脚函数 |
| | | let footList = ['', '',] |
| | | return [ |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | if (footList.includes(column.field)) { |
| | | return sumNum(data, column.field) |
| | | const List = ["quantity",'orderDetail.computeGrossArea'] |
| | | if (List.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | |
| | | }) |
| | | |
| | | const sexOptions = ref([ |
| | | {label: '已排版', value: '已排版'}, |
| | | {label: '可排版', value: '可排版'}, |
| | | {label: '不可排版', value: '不可排版'} |
| | | {label: t('processCard.typesetter'), value: t('processCard.typesetter')}, |
| | | {label: t('processCard.composingOk'), value: t('processCard.composingOk')}, |
| | | {label: t('processCard.composingNo'), value: t('processCard.composingNo')} |
| | | ]) |
| | | |
| | | //表格按钮 |
| | |
| | | if ($table) { |
| | | const selectRecords = $table.getCheckboxRecords() |
| | | if (selectRecords.length == 0) { |
| | | ElMessage.warning("请勾选需要的数据") |
| | | ElMessage.warning(t('processCard.pleaseCheckTheRequiredData')) |
| | | return; |
| | | } |
| | | |
| | |
| | | //修改排版状态 |
| | | request.post("/processCard/updateComposing", composingData.value).then((res) => { |
| | | if (res.code == 200 && res.data === true) { |
| | | ElMessage.success("修改成功") |
| | | ElMessage.success(t('basicData.msg.saveSuccess')) |
| | | router.push({ |
| | | path: '/main/processCard/SelectProcessCard', |
| | | query: {random: Math.random()} |
| | | }) |
| | | } else { |
| | | |
| | | ElMessage.warning('修改失败') |
| | | ElMessage.warning(t('basicData.msg.saveFail')) |
| | | |
| | | } |
| | | }) |
| | | |
| | | } |
| | | return; |
| | | |
| | | } |
| | | case 'delete': { |
| | | const $table = xGrid.value |
| | | if ($table) { |
| | | const selectRecords = $table.getCheckboxRecords() |
| | | if (selectRecords.length == 0) { |
| | | ElMessage.warning(t('processCard.pleaseCheckTheRequiredData')) |
| | | return; |
| | | } |
| | | //简化勾选的值 |
| | | const extractedData = selectRecords.map(item => ({ |
| | | orderId: item.orderId, |
| | | processId: item.processId |
| | | })); |
| | | let composingData = ref({ |
| | | composing: extractedData, |
| | | userId: user.user.userId, |
| | | userName:user.user.userName |
| | | }) |
| | | //多选删除流程卡 |
| | | request.post("/processCard/checkboxDelete", composingData.value).then((res) => { |
| | | if (res.code == 200 && res.data === true) { |
| | | ElMessage.success(t('basicData.msg.deleteSuccess')) |
| | | router.push({ |
| | | path: '/main/processCard/SelectProcessCard', |
| | | query: {random: Math.random()} |
| | | }) |
| | | } else { |
| | | |
| | | ElMessage.warning(t('basicData.msg.deleteFail')) |
| | | |
| | | } |
| | | }) |
| | |
| | | } |
| | | const checkBoxConfig = { |
| | | checkMethod: ({row}) => { |
| | | if (row['layoutStatus'] === '可排版' || row['layoutStatus'] === '已排版') { |
| | | if ( row['layoutStatus'] === t('processCard.typesetter')) { |
| | | return row.disable |
| | | } else { |
| | | return !row.disable |
| | |
| | | <div id="selectForm"> |
| | | <el-row :gutter="0"> |
| | | <el-date-picker |
| | | v-model="form.date1" |
| | | v-model="orderInfo.workOrderDate" |
| | | :default-time="defaultTime" |
| | | :end-placeholder="$t('basicData.endDate')" |
| | | :start-placeholder="$t('basicData.startDate')" |
| | |
| | | ref="xGrid" |
| | | :checkbox-config="checkBoxConfig" |
| | | class="mytable-scrollbar" |
| | | max-height="100%" |
| | | height="100%" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | @filter-change="filterChanged" |
| | |
| | | <template #button_slot="{ row }"> |
| | | <!-- <el-button @click="getTableRow(row,'select')" link type="primary" size="small">{{$t('basicData.edit')}}--> |
| | | <!-- </el-button>--> |
| | | <el-button v-if="userStore.user.permissions.indexOf('SelectProcessCard.edit') > -1" |
| | | <el-button v-if="userStore.user.permissions.indexOf('selectProcessCard.edit') > -1" |
| | | link |
| | | size="small" |
| | | type="primary" |
| | |
| | | <!-- <el-button v-else-if="row.layoutStatus=='不可排版'" @click="getTableRow(row,'setType')" link type="primary" size="small">{{$t('processCard.composingOk')}}</el-button>--> |
| | | <!-- <el-button v-else-if="row.layoutStatus=='已排版'" disabled @click="getTableRow(row,'setType')" link type="primary" size="small">{{$t('processCard.typesetter')}}</el-button>--> |
| | | <!-- <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>--> |
| | | <el-popconfirm :title="$t('searchOrder.deleteConfirm')" @confirm="getTableRow(row,'delete')"> |
| | | <template #reference> |
| | | <el-button link size="small" type="primary">{{ $t('basicData.delete') }}</el-button> |
| | | </template> |
| | | </el-popconfirm> |
| | | <!-- <el-popconfirm :title="$t('searchOrder.deleteConfirm')" @confirm="getTableRow(row,'delete')">--> |
| | | <!-- <template #reference>--> |
| | | <!-- <el-button link size="small" type="primary">{{ $t('basicData.delete') }}</el-button>--> |
| | | <!-- </template>--> |
| | | <!-- </el-popconfirm>--> |
| | | </template> |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | |
| | | |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <select v-model="option.data" @change="changeFilterEvent($event, option, $panel)" style="width: 100%"> |
| | | <option value="已排版" label="已排版"></option> |
| | | <option value="可排版" label="可排版"></option> |
| | | <option value="不可排版" label="不可排版"></option> |
| | | <option :value="$t('processCard.typesetter')" :label="$t('processCard.typesetter')"></option> |
| | | <option :value="$t('processCard.composingOk')" :label="$t('processCard.composingOk')"></option> |
| | | <option :value="$t('processCard.composingNo')" :label="$t('processCard.composingNo')"></option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | |
| | | <style scoped> |
| | | .main-div-customer { |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 95%; |
| | | } |
| | | |
| | | #selectForm { |