| | |
| | | /web_standard/doumeeplant_web |
| | | /web_standard/.vscode |
| | | .idea |
| | | .DS_Store |
| | |
| | | # 接口前缀
|
| | | VUE_APP_API_PREFIX = ''
|
| | |
|
| | | #测试服务器
|
| | | # VUE_APP_BASE_URL = 'http://139.186.142.91:10012/'
|
| | | #汇智
|
| | | #VUE_APP_BASE_URL = 'https://106.14.220.133:10012/'
|
| | |
|
| | | #任康本地
|
| | | # VUE_APP_BASE_URL = 'http://192.168.0.15:10012/'
|
| | | # VUE_APP_BASE_URL = 'https://hsky.doumee.com/doumeeplant_api/'
|
| | |
|
| | | #江萍本地
|
| | | #VUE_APP_BASE_URL = 'http://192.168.0.12:10012/'
|
| | | #VUE_APP_BASE_URL = 'http://192.168.0.36:10021/'
|
| | |
|
| | | #刘磊磊本地
|
| | | #VUE_APP_BASE_URL = 'http://192.168.0.18:10012/'
|
| | | #VUE_APP_BASE_URL = 'http://192.168.0.176:10012/'
|
| | | #VUE_APP_BASE_URL = 'http://6201h1b706.zicp.fun:19470/'
|
| | | VUE_APP_BASE_URL = 'http://192.168.0.18:10021/'
|
| | | VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/' |
| | | # VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/' |
| | |
| | | this.form.fileurlfull = this.form.fileStoreAddr ? this.form.fileurlfull : '' |
| | | }) |
| | | }, |
| | | |
| | | typeChange() { |
| | | let tempDate = new Date(); |
| | | tempDate.setDate(tempDate.getDate() + (this.form.oepnType ? 365 : 15)) |
| | |
| | | @uploadBegin="isUploading=true" |
| | | /> |
| | | <div style="display: flex; flex-direction: column-reverse;" v-if="!!form.icon"> |
| | | <el-button style="margin-left: 5px; padding: 0 5px;" type="text" @click="form.icon=''">删除</el-button> |
| | | <el-button style="margin-left: 5px; padding: 0 5px;" type="text" @click="deletePic">删除</el-button> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | // 需排除选择的菜单ID |
| | | excludeMenuId: null, |
| | | uploadData: { |
| | | floader: 'company/menu' |
| | | // floader: 'company/menu' |
| | | folder: 'company/menu' |
| | | }, |
| | | parent: {}, |
| | | // 表单数据 |
| | |
| | | debugger |
| | | this.title = title |
| | | |
| | | console.log('-----',parent); |
| | | this.visible = true |
| | | // 新建,menu为空时表示新建菜单 |
| | | if (target == null) { |
| | |
| | | this.form.id = null |
| | | this.form.parentId = parent == null ? null : parent.id |
| | | this.parentName = parent == null ? null : parent.name |
| | | this.form.fullIcon = '' |
| | | }) |
| | | return |
| | | } |
| | |
| | | uploadReverseSuccess(file) { |
| | | this.form.icon = file.imgurl; |
| | | this.form.fullIcon = file.imgurlfull; |
| | | }, |
| | | deletePic() { |
| | | this.form.fullIcon='' |
| | | this.form.icon='' |
| | | } |
| | | }, |
| | | } |
| | |
| | | <el-table-column prop="name" label="菜单名称" fixed="left" align="center" min-width="160px"></el-table-column> |
| | | <el-table-column prop="icon" label="图标" align="center" min-width="80px" class-name="table-column-icon"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.icon != null && row.icon !== ''" style="width: 40px; height: 40px;" :src="row.icon"></el-image> |
| | | <el-image v-if="row.icon != null && row.icon !== ''" style="width: 40px; height: 40px;" :src="row.resourcePath + row.icon"></el-image> |
| | | <template v-else>未设置</template> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | # 接口前缀 |
| | | VUE_APP_API_PREFIX = '' |
| | | |
| | | # 测试服务器 |
| | | # VUE_APP_BASE_URL = 'http://139.186.142.91:10012/' |
| | | # 汇智 |
| | | # VUE_APP_BASE_URL = 'https://106.14.220.133:10012/' |
| | | |
| | | # 焦松 |
| | | VUE_APP_BASE_URL = 'http://192.168.0.36:10021/' |
| | | |
| | | # 江萍 |
| | | VUE_APP_BASE_URL = 'http://192.168.0.35:10021' |
| | | # VUE_APP_BASE_URL = 'http://192.168.0.35:10021/' |
| | | |
| | | # VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/' |
| | | # 测试服务器 |
| | | VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/' |
| | | |
| | |
| | | VUE_APP_ROUTER_MODE = 'hash' |
| | | |
| | | # 项目上下文路径 |
| | | # VUE_APP_CONTEXT_PATH = '/doumeeplant_web/' |
| | | VUE_APP_CONTEXT_PATH = '/web/' |
| | | |
| | | # 接口前缀 |
| | | VUE_APP_API_PREFIX = '/doumeeplant' |
| | | |
| | | # 测试服务器 |
| | | # VUE_APP_BASE_URL = 'http://139.186.142.91:10012/' |
| | | # 演示服务器 |
| | | # VUE_APP_BASE_URL = 'http://121.41.112.139:10012/' |
| | | # 正式环境 |
| | | # VUE_APP_BASE_URL = 'http://127.0.0.1:10012/' |
| | | #艾丽格斯 https://hsky.doumee.com/doumeeplant_api/doc.html |
| | | # VUE_APP_BASE_URL = 'https://hsky.doumee.com/doumeeplant_api/' |
| | | |
| | | # VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/' |
| | | |
| | | VUE_APP_BASE_URL = 'https://www.mes.red/doumeeplant/' |
| | |
| | | .success{ color: #70B603; }
|
| | | .waring{ color: #F59A23; }
|
| | | .error{ color: #f00; }
|
| | | .c1{color: #111}.c2{color: #222}.c3{ color: #333;}.c6{ color: #666;}.cc{ color: #ccc;}.cf{ color: #fff;}
|
| | | /* /deep/ .uicon-close .u-icon--right{ position: absolute; right: 30px; top: 30px; z-index: 999;} */
|
| | | .popCloseBtn{ position: absolute; width:50px; height:50px; right: 20px; top: 20px;}
|
| | | .fixedHeader{ position: absolute; left: 0; top: 0;}
|
| | |
| | | .el-date-editor--daterange.el-input__inner, |
| | | .el-date-editor--timerange.el-input, |
| | | .el-date-editor--timerange.el-input__inner { |
| | | width: 220px !important; |
| | | width: 240px !important; |
| | | } |
| | | |
| | | .el-input__inner { |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工厂" prop="departId"> |
| | | <el-select v-model="form.departId" placeholder="请选择工厂" clearable @change="selectFactoey"> |
| | | <el-select v-model="form.departId" placeholder="请选择工厂" :disabled="isEdit" clearable @change="selectFactoey"> |
| | | <el-option |
| | | v-for="item in factories" |
| | | :key="item.id" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="物料" prop="materialId"> |
| | | <el-select v-model="form.materialId" placeholder="请选择物料" clearable> |
| | | <el-select v-model="form.materialId" placeholder="请选择物料" :disabled="isEdit" clearable @change="selectMaterial"> |
| | | <el-option |
| | | v-for="item in materials" |
| | | :key="item.materialId" |
| | | :key="item.realMaterialId" |
| | | :label="item.mmodel.name" |
| | | :value="item.materialId" |
| | | :value="item.realMaterialId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工序" prop="procedureId"> |
| | | <el-select v-model="form.procedureId" placeholder="请选择计价方式" clearable> |
| | | <el-select v-model="form.procedureId" placeholder="请选择工序" :disabled="isEdit" clearable> |
| | | <el-option |
| | | v-for="item in productes" |
| | | :key="item.id" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工资单价(元)" prop="salary"> |
| | | <el-input v-model="form.salary" placeholder="请输入工资单价(元)" v-trim/> |
| | | <el-input v-model="form.salary" placeholder="请输入工资单价(元)" @input="inputZAction(form, 'salary')" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="标准效率" prop="num"> |
| | | <div style="display: flex;"> |
| | |
| | | import { getDepartmentListByConditon } from '@/api/ext/departmentExt' |
| | | import { getBomMaterialList } from '@/api/ext/bomExt' |
| | | import { routeExt as proceList } from '@/api/ext/routeProcedureExt' |
| | | import { numRule } from '@/utils/form' |
| | | export default { |
| | | name: 'OperaSalaryParamWindow', |
| | | extends: BaseOpera, |
| | |
| | | unqualified: 0, |
| | | type: '' |
| | | }, |
| | | isEdit: false, |
| | | type: [ |
| | | { label: '计件', value: 0 }, |
| | | { label: '计时', value: 1 }, |
| | |
| | | productes: [], |
| | | // 验证规则 |
| | | rules: { |
| | | departId: [ |
| | | { required: true, validator: numRule, message: '请选择工厂', tigger: 'change' } |
| | | ], |
| | | materialId: [ |
| | | { required: true, validator: numRule, message: '请选择物料', tigger: 'change' } |
| | | ], |
| | | procedureId: [ |
| | | { required: true, validator: numRule, message: '请选择工序', tigger: 'change' } |
| | | ], |
| | | salary: [ |
| | | { required: true, validator: numRule, message: '请输入工资单价', tigger: 'blur' } |
| | | ], |
| | | } |
| | | } |
| | | }, |
| | |
| | | .then(res => { |
| | | // console.log(res) |
| | | this.materials = res |
| | | if (!isEdit) { |
| | | this.form.materialId = res[0]?res[0].materialId:'' |
| | | } |
| | | this.selectMaterial(this.form.materialId, isEdit) |
| | | // if (!isEdit) { |
| | | // this.form.materialId = res[0]?res[0].materialId:'' |
| | | // } |
| | | // this.selectMaterial(this.form.materialId) |
| | | }) |
| | | .catch(err => { |
| | | console.log(err) |
| | |
| | | |
| | | let routeId; |
| | | for (const item of this.materials) { |
| | | if (item.materialId === id) { |
| | | if (item.realMaterialId === id) { |
| | | routeId = item.routeId |
| | | } |
| | | } |
| | |
| | | // console.log(res) |
| | | this.productes = res.proceList |
| | | if (!isEdit) { |
| | | // debugger |
| | | this.form.procedureId = this.productes[0]?this.productes[0].id:'' |
| | | } |
| | | }).catch(err => { |
| | | console.log(err) |
| | | }) |
| | | }, |
| | | // 2位有效销售(正) |
| | | inputZAction(item, key) { |
| | | item[key] = item[key].replace(/[^\d.]/g, '') |
| | | .replace(/\.{2,}/g, '.') |
| | | .replace('.', '$#$') |
| | | .replace(/\./g, '') |
| | | .replace('$#$', '.') |
| | | .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') |
| | | .replace(/^\./g, '') |
| | | }, |
| | | confirm () { |
| | | // console.log((+this.form.hours) * 3600); |
| | | // console.log((+this.form.minute) * 60); |
| | |
| | | {{title}} |
| | | </h2> |
| | | <div class="user"> |
| | | <div class="user_help" @click="jumpWord"> |
| | | <img src="@/assets/images/ic_help@2x.png" alt="" /> |
| | | <span>帮助文档</span> |
| | | <div class="help" @click="jumpWord"> |
| | | <div class="user_help"> |
| | | <img src="@/assets/images/ic_help@2x.png" alt="" /> |
| | | <span>帮助文档</span> |
| | | </div> |
| | | <span class="ml5 mr5">|</span> |
| | | <span>企业代码: {{ tempId }}</span> |
| | | </div> |
| | | <div style="margin-right: 10px;">企业代码: {{ tempId }}</div> |
| | | <!-- <div style="margin-right: 10px;">企业代码: {{ tempId }}</div> --> |
| | | <el-dropdown trigger="click" style="margin-right: 20px;" v-userState @command="select"> |
| | | <span class="el-dropdown-link"> |
| | | {{ tempC }}<i class="el-icon-arrow-down el-icon--right"></i> |
| | | <span class="c2 f16">{{ tempC }}</span><i class="el-icon-arrow-down el-icon--right"></i> |
| | | </span> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item v-for="(item, index) in cList" :key="index" :command='item.id'>{{ item.name }}</el-dropdown-item> |
| | |
| | | created () { |
| | | if (this.userInfo.curComDepartment) { |
| | | this.tempC = this.userInfo.curComDepartment.name |
| | | this.tempId = this.userInfo.curComDepartment.id |
| | | this.tempId = this.userInfo.company.id |
| | | } |
| | | getDepartmentListByConditon({ |
| | | type: 0 |
| | |
| | | // width: 30%; |
| | | flex-shrink: 0; |
| | | // text-align: right; |
| | | vertical-align: middle; |
| | | display: flex; |
| | | align-items: center; |
| | | .user_help { |
| | | width: 111px; |
| | | height: 36px; |
| | | .help { |
| | | display: flex; |
| | | height: 29px; |
| | | line-height: 38px; |
| | | align-items: center; |
| | | justify-content: center; |
| | | background: #F7F7F7; |
| | | border-radius: 4px; |
| | | vertical-align: middle; |
| | | margin-right: 30px; |
| | | cursor: pointer; |
| | | img { |
| | | width: 16px; |
| | | height: 16px; |
| | | margin-right: 7px !important; |
| | | } |
| | | span { |
| | | font-size: 16px; |
| | | font-size: 12px; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | vertical-align: middle; |
| | | color: #666666; |
| | | } |
| | | .user_help { |
| | | // width: 111px; |
| | | |
| | | // background: #F7F7F7; |
| | | |
| | | |
| | | cursor: pointer; |
| | | img { |
| | | width: 16px; |
| | | height: 16px; |
| | | margin-right: 7px !important; |
| | | vertical-align: middle; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | .el-dropdown { |
| | | flex-shrink: 0; |
| | | top: 2px; |
| | |
| | | <tr> |
| | | <td>打印信息</td> |
| | | <td style="text-align:left; line-height:16px;" colspan="2"> |
| | | <div>{{ userInfo.realname + ', ' + current}}</div> |
| | | <div>{{ userInfo.companyUser.name + ', ' + current}}</div> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | |
| | | } |
| | | callback() |
| | | } |
| | | |
| | | export function numRule(rule, value, callback) { |
| | | // debugger |
| | | if (value == null || value < 0 || !value) { |
| | | callback(new Error()) |
| | | } else { |
| | | callback() |
| | | } |
| | | } |
| | |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | |
| | | <el-form-item label="物料" prop="keyWord"> |
| | | <el-form-item label="物料信息" prop="keyWord"> |
| | | <el-input v-model="searchForm.keyWord" placeholder="请输入物料名称/编码" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="工序" prop="procedureName"> |
| | |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button type="primary" :loading="isWorking.export" v-permissions="['business:salaryparam:exportExcel']" @click="exportExcel">导出</el-button> |
| | | |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:salaryparam:create', 'business:salaryparam:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaSalaryParamWindow.open('新建绩效工资配置')" icon="el-icon-plus" v-permissions="['business:salaryparam:create']">新建</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:salaryparam:delete']">删除</el-button></li> |
| | | <ul class="toolbar" v-permissions="['business:salaryparam:create', 'business:salaryparam:delete', 'business:salaryparam:exportExcel', 'business:salaryparam:importExcel']"> |
| | | <li><el-button type="primary" @click="$refs.operaSalaryParamWindow.open('新建绩效工资配置')" v-permissions="['business:salaryparam:create']">新建</el-button></li> |
| | | <li><el-button type="primary" @click="deleteByIdInBatch" v-permissions="['business:salaryparam:delete']">批量删除</el-button></li> |
| | | <li> |
| | | <el-button type="primary" :loading="isWorking.export" v-permissions="['business:salaryparam:exportExcel']" @click="exportExcel">导出</el-button> |
| | | </li> |
| | | <li v-permissions="['business:salaryparam:importExcel']"> |
| | | <ImportButton |
| | | text="导入" |
| | | template-name="salary_import_template.xlsx" |
| | | template-path="/template/salary_import_template.xlsx" |
| | | action="/business/salaryParam/importBatch" |
| | | @success="search" |
| | | /> |
| | | </li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="id" label="主键" min-width="100px"></el-table-column> |
| | | <el-table-column prop="id" label="序号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="type" label="计价方式" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.type == 0 ? '计件' : '计时' }} |
| | |
| | | <el-table-column prop="materialCode" label="物料编码" min-width="100px"></el-table-column> |
| | | <el-table-column prop="procedureName" label="工序名称" min-width="100px"></el-table-column> |
| | | <el-table-column prop="salary" label="工资单价(元)" min-width="100px"></el-table-column> |
| | | <el-table-column prop="num" label="标准数量" min-width="100px"> |
| | | <el-table-column prop="num" label="标准产出" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.num == 0 ? '-' : row.num }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="times" label="标准时长" min-width="100px"> |
| | | <el-table-column prop="times" label="标准工时" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ timesToStr(row.times) }} |
| | | </template> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间" min-width="150px"></el-table-column> |
| | | <!-- <el-table-column prop="updateUser" label="更新人编码" min-width="100px"></el-table-column> --> |
| | | <el-table-column prop="createUserName" label="创建人" min-width="100px"></el-table-column> |
| | | <!-- <el-table-column prop="updateTime" label="更新时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column> |
| | | <el-table-column prop="rootDepartId" label="主组织编码(关联department表根组织)" min-width="100px"></el-table-column> |
| | |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import ImportButton from '@/components/common/ImportButton' |
| | | import OperaSalaryParamWindow from '@/components/business/OperaSalaryParamWindow' |
| | | export default { |
| | | name: 'SalaryParam', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaSalaryParamWindow }, |
| | | components: { TableLayout, Pagination, OperaSalaryParamWindow, ImportButton }, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | |
| | | }, |
| | | methods: { |
| | | timesToStr(times) { |
| | | if (!times) { |
| | | |
| | | if (times==0||!times) { |
| | | return '-' |
| | | } |
| | | let sec = times%60 |
| | |
| | | <el-form-item label="批次号" prop="batch"> |
| | | <el-input v-model="searchForm.batch" placeholder="请输入" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="销售单号" prop="salesorder"> |
| | | <el-input v-model="searchForm.salesorder" placeholder="请输入" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="计划日期" prop="planDate"> |
| | | <el-date-picker style="width: 300px;" @change="changeDate" v-model="searchForm.planDate" type="datetimerange" |
| | | value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> |
| | |
| | | <ImportButton |
| | | text="导入" |
| | | template-name="workplans_import_template.xlsx" |
| | | template-path="template/workplans_import_template.xlsx" |
| | | template-path="/template/workplans_import_template.xlsx" |
| | | action="/business/workPlans/importBatch" |
| | | @success="search" |
| | | /> |
| | |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" border stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="planCode" label="成品计划编码" min-width="150px"> |
| | | <el-table-column prop="planCode" label="成品计划编码" min-width="190px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.plannedProgress.open('计划执行进度', row)"> |
| | | <span class="long-title-style">{{ row.planCode }}</span> |
| | | </el-button> |
| | | <el-tag type="danger" size="mini" v-if="row.hasExpire">延期</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="materialName" label="物料名称" min-width="100px"></el-table-column> |
| | |
| | | factoryId: '', |
| | | materialId: '', |
| | | batch: '', |
| | | salesorder: '', |
| | | planStatus: '', |
| | | planCode: '' |
| | | }, |
| | |
| | | @row-style="rowStyle" |
| | | > |
| | | <el-table-column type="selection" fixed="left" width="55"></el-table-column> |
| | | <el-table-column prop="id" label="计划序号" fixed="left" min-width="80px"></el-table-column> |
| | | <el-table-column prop="id" label="计划序号" fixed="left" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{ row.id }}</span><el-tag type="danger" size="mini" v-if="row.hasExpire">延期</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="mmodel.name" fixed="left" label="物料名称" show-overflow-tooltip min-width="140px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" class="materail" @click="showPlan(row.id)"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="mmodel.code" label="物料编码" min-width="160px"> |
| | | </el-table-column> |
| | | <el-table-column prop="planDate" label="计划日期" min-width="100px"></el-table-column> |
| | | |
| | | <el-table-column prop="fmodel.name" label="工厂" min-width="100px"></el-table-column> |
| | | <el-table-column prop="pmodel.name" label="工序" show-overflow-tooltip min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="long-title-style">{{ row.pmodel ? row.pmodel.name : '-' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="batch" label="生产批次号" show-overflow-tooltip min-width="140px"></el-table-column> |
| | | <el-table-column prop="num" label="计划数量" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{ row.num + (row.umodel ? row.umodel.name : '') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="batch" label="生产批次号" show-overflow-tooltip min-width="140px"></el-table-column> |
| | | <el-table-column prop="urgent" label="优先级" min-width="60px"></el-table-column> |
| | | <el-table-column prop="workPlanStartDate" label="计划开始日期" min-width="100px"> |
| | | <!-- <template slot-scope="{row}"> |
| | | {{ row.workPlanStartDate ? row.workPlanStartDate.substring(0, row.workPlanStartDate.length-9) : '-' }} |
| | | </template> --> |
| | | </el-table-column> |
| | | <el-table-column prop="workPlanEndDate" label="计划结束日期" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.workPlanStartDate ? row.workPlanStartDate.substring(0, row.workPlanStartDate.length-9) : '-' }} |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="计划状态" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | {{ statusToStr(row.status) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="计划类型" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <span :style="typeColor(row.type)">{{ typeToStr(row.type) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="暂停" min-width="60px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.paused == 0 ? '否' : '是' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="workPlanCode" label="成品计划编码" min-width="140px"></el-table-column> |
| | | <el-table-column prop="distributNoDoneNum" label="已分配未报工数量" min-width="140px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.distributNoDoneNum ? (row.distributNoDoneNum + (row.umodel ? row.umodel.name : '')) : '-' }}</span> |
| | |
| | | <el-table-column prop="unqulifiedNum" label="不良数量" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.unqulifiedNum ? (row.unqulifiedNum + (row.umodel ? row.umodel.name : '')) : '-' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="urgent" label="优先级" min-width="60px"></el-table-column> |
| | | <el-table-column label="暂停" min-width="60px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.paused == 0 ? '否' : '是' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="workPlanCode" label="主计划编码" min-width="140px"></el-table-column> |
| | | <el-table-column label="类型" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <span :style="typeColor(row.type)">{{ typeToStr(row.type) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="publishDate" label="发布日期" min-width="100px"> |
| | |
| | | if (index === 0) { |
| | | sums[index] = '合计'; |
| | | return; |
| | | } else if (index === 1 || index === 8 || index === 9 || index === 16 || index === 17) { |
| | | } else if (index === 1 || index === 6 || index === 8 || index === 9 || index === 14 || index === 16 || index === 17) { |
| | | sums[index] = '-'; |
| | | return; |
| | | } else if (index === 8 ) { |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="物料编码" prop="mmodelCode"> |
| | | <el-input v-model="searchForm.mmodelCode" placeholder="请输入物料编码" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="物料信息" prop="materialName"> |
| | | <el-input v-model="searchForm.materialName" placeholder="请输入物料名称/编码" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="工序" prop="procedureId"> |
| | | <el-select v-model="searchForm.procedureId" filterable clearable placeholder="请选择"> |
| | |
| | | stripe |
| | | border |
| | | > |
| | | <el-table-column prop="id" label="序号" fixed="left" min-width="80px"></el-table-column> |
| | | <el-table-column type="index" :index="customIndex" label="序号" fixed="left" min-width="80px"></el-table-column> |
| | | <el-table-column prop="userInfo.userName" label="生产人员" min-width="100px"></el-table-column> |
| | | <el-table-column prop="userInfo.departName" label="部门" min-width="100px"> </el-table-column> |
| | | <el-table-column prop="materialName" label="物料名称" min-width="100px"></el-table-column> |
| | |
| | | <el-table-column prop="workorderCode" label="工单编码" min-width="150px"></el-table-column> |
| | | <el-table-column prop="unitName" label="单位" min-width="100px"></el-table-column> |
| | | <el-table-column prop="num" label="报工数" min-width="100px"></el-table-column> |
| | | <el-table-column prop="qualifiedNum" label="良品数" min-width="100px"></el-table-column> |
| | | <el-table-column prop="unQualifiedNum" label="不良品数" min-width="100px"></el-table-column> |
| | | <el-table-column prop="qualifiedNum" label="良品数" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.qualifiedNum || 0 }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unQualifiedNum" label="不良品数" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.unQualifiedNum || 0 }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="rate" label="合格率(%)" min-width="100px"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | |
| | | userId: '', |
| | | startDate: '', |
| | | endDate: '', |
| | | materialId: '', |
| | | materialName: '', |
| | | }, |
| | | procedures: [ |
| | | ], |
| | |
| | | 'field.main': 'name', |
| | | sorts: [{ direction: 'DESC', property: 'CREATE_TIME' }] |
| | | }) |
| | | |
| | | let tempDate = new Date() |
| | | let year = tempDate.getFullYear() |
| | | let month = tempDate.getMonth() + 1 |
| | | let day = tempDate.getDate() |
| | | this.searchForm.startDate = `${year}-${month}-01` |
| | | this.searchForm.endDate = `${year}-${month}-${day}` |
| | | this.planDate = [this.searchForm.startDate, this.searchForm.endDate] |
| | | this.search() |
| | | }, |
| | | activated() { |
| | |
| | | } |
| | | }); |
| | | return sums |
| | | }, |
| | | customIndex(index) { |
| | | console.log(); |
| | | return (this.tableData.pagination.pageIndex-1) * this.tableData.pagination.pageSize + index + 1 |
| | | } |
| | | } |
| | | } |