更新
This commit is contained in:
		
							
								
								
									
										134
									
								
								src/views/cost/raw/costOthercostRule/add-or-updata.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										134
									
								
								src/views/cost/raw/costOthercostRule/add-or-updata.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,134 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2023-08-01 13:52:10
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2024-03-21 15:59:26
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
	<el-form
 | 
			
		||||
		:model="dataForm"
 | 
			
		||||
		:rules="dataRule"
 | 
			
		||||
		ref="dataForm"
 | 
			
		||||
		v-if="visible"
 | 
			
		||||
		@keyup.enter.native="dataFormSubmit()"
 | 
			
		||||
		label-width="100px"
 | 
			
		||||
		label-position="top">
 | 
			
		||||
		<el-row :gutter="20">
 | 
			
		||||
			<el-col :span="12">
 | 
			
		||||
				<el-form-item label="原料名称" prop="materialId">
 | 
			
		||||
					<el-select
 | 
			
		||||
						v-model="dataForm.materialId"
 | 
			
		||||
						filterable
 | 
			
		||||
						clearable
 | 
			
		||||
						@change="setCode"
 | 
			
		||||
						:style="{ width: '100%' }"
 | 
			
		||||
						placeholder="请选择原料名称">
 | 
			
		||||
						<el-option
 | 
			
		||||
							v-for="item in MaterialList"
 | 
			
		||||
							:key="item.id"
 | 
			
		||||
							:label="item.name"
 | 
			
		||||
							:value="item.id"></el-option>
 | 
			
		||||
					</el-select>
 | 
			
		||||
				</el-form-item>
 | 
			
		||||
			</el-col>
 | 
			
		||||
			<el-col :span="12">
 | 
			
		||||
				<el-form-item label="原料等级" prop="grade">
 | 
			
		||||
					<el-select
 | 
			
		||||
						v-model="dataForm.grade"
 | 
			
		||||
						filterable
 | 
			
		||||
						clearable
 | 
			
		||||
						:style="{ width: '100%' }"
 | 
			
		||||
						placeholder="请选择原料等级">
 | 
			
		||||
						<el-option
 | 
			
		||||
							v-for="item in urlOptions.dictList.dict0"
 | 
			
		||||
							:key="item.id"
 | 
			
		||||
							:label="item.label"
 | 
			
		||||
							:value="parseInt(item.value)"></el-option>
 | 
			
		||||
					</el-select>
 | 
			
		||||
				</el-form-item>
 | 
			
		||||
			</el-col>
 | 
			
		||||
			<el-col :span="12">
 | 
			
		||||
				<el-form-item label="原料编码" prop="code">
 | 
			
		||||
					<el-input v-model="dataForm.code" clearable readonly />
 | 
			
		||||
				</el-form-item>
 | 
			
		||||
			</el-col>
 | 
			
		||||
			<el-col :span="12">
 | 
			
		||||
				<el-form-item label="单价" prop="price">
 | 
			
		||||
					<el-input-number
 | 
			
		||||
						:min="0"
 | 
			
		||||
						style="width: 80%"
 | 
			
		||||
						v-model="dataForm.price"
 | 
			
		||||
						clearable
 | 
			
		||||
						placeholder="请输入允许留存时间" />
 | 
			
		||||
					(元/吨)
 | 
			
		||||
				</el-form-item>
 | 
			
		||||
			</el-col>
 | 
			
		||||
			<el-col :span="12">
 | 
			
		||||
				<el-form-item label="生效开始时间" prop="enabledTime">
 | 
			
		||||
					<el-date-picker
 | 
			
		||||
						v-model="dataForm.enabledTime"
 | 
			
		||||
						type="datetime"
 | 
			
		||||
						value-format="timestamp"
 | 
			
		||||
						:style="{ width: '100%' }"
 | 
			
		||||
						placeholder="选择开始时间"></el-date-picker>
 | 
			
		||||
				</el-form-item>
 | 
			
		||||
			</el-col>
 | 
			
		||||
			<el-col :span="12">
 | 
			
		||||
				<el-form-item label="生效结束时间" prop="disabledTime">
 | 
			
		||||
					<el-date-picker
 | 
			
		||||
						v-model="dataForm.disabledTime"
 | 
			
		||||
						type="datetime"
 | 
			
		||||
						value-format="timestamp"
 | 
			
		||||
						:style="{ width: '100%' }"
 | 
			
		||||
						placeholder="选择结束时间"></el-date-picker>
 | 
			
		||||
				</el-form-item>
 | 
			
		||||
			</el-col>
 | 
			
		||||
			<el-col :span="12">
 | 
			
		||||
				<el-form-item label="备注" prop="remark">
 | 
			
		||||
					<el-input
 | 
			
		||||
						v-model="dataForm.remark"
 | 
			
		||||
						clearable
 | 
			
		||||
						placeholder="请输入备注" />
 | 
			
		||||
				</el-form-item>
 | 
			
		||||
			</el-col>
 | 
			
		||||
		</el-row>
 | 
			
		||||
	</el-form>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicAdd from '@/mixins/basic-add';
 | 
			
		||||
import {
 | 
			
		||||
	updateRawOthercostRule,
 | 
			
		||||
	getRawOthercostRule,
 | 
			
		||||
} from '@/api/cost/rawOthercostRule';
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
	mixins: [basicAdd],
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			urlOptions: {
 | 
			
		||||
				updateURL: updateRawOthercostRule,
 | 
			
		||||
				infoURL: getRawOthercostRule,
 | 
			
		||||
			},
 | 
			
		||||
			dataForm: {
 | 
			
		||||
				id: undefined,
 | 
			
		||||
				code: '',
 | 
			
		||||
				materialId: '',
 | 
			
		||||
				price: '',
 | 
			
		||||
				grade: '',
 | 
			
		||||
				remark: '',
 | 
			
		||||
			},
 | 
			
		||||
			dataRule: {
 | 
			
		||||
				materialId: [
 | 
			
		||||
					{ required: true, message: '原料不能为空', trigger: 'change' },
 | 
			
		||||
				],
 | 
			
		||||
				price: [{ required: true, message: '单价不能为空', trigger: 'blur' }],
 | 
			
		||||
			},
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
	created() {},
 | 
			
		||||
	methods: {
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
							
								
								
									
										94
									
								
								src/views/cost/raw/costOthercostRule/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								src/views/cost/raw/costOthercostRule/index.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,94 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<div class="app-container">
 | 
			
		||||
		<!-- 列表 -->
 | 
			
		||||
		<base-table
 | 
			
		||||
			v-loading="dataListLoading"
 | 
			
		||||
			:table-props="tableProps"
 | 
			
		||||
			:page="listQuery.pageNo"
 | 
			
		||||
			:limit="listQuery.pageSize"
 | 
			
		||||
			:max-height="tableH"
 | 
			
		||||
			:table-data="tableData">
 | 
			
		||||
			<method-btn
 | 
			
		||||
				v-if="tableBtn.length"
 | 
			
		||||
				slot="handleBtn"
 | 
			
		||||
				:width="80"
 | 
			
		||||
				label="操作"
 | 
			
		||||
				:method-list="tableBtn"
 | 
			
		||||
				@clickBtn="handleClick" />
 | 
			
		||||
		</base-table>
 | 
			
		||||
		<pagination
 | 
			
		||||
			:limit.sync="listQuery.pageSize"
 | 
			
		||||
			:page.sync="listQuery.pageNo"
 | 
			
		||||
			:total="listQuery.total"
 | 
			
		||||
			@pagination="getDataList" />
 | 
			
		||||
 | 
			
		||||
		<!-- 对话框(添加 / 修改) -->
 | 
			
		||||
		<base-dialog
 | 
			
		||||
			:dialogTitle="addOrEditTitle"
 | 
			
		||||
			:dialogVisible="addOrUpdateVisible"
 | 
			
		||||
			@cancel="handleCancel"
 | 
			
		||||
			@confirm="handleConfirm"
 | 
			
		||||
			:before-close="handleCancel"
 | 
			
		||||
			width="40%">
 | 
			
		||||
			<add-or-update
 | 
			
		||||
				ref="addOrUpdate"
 | 
			
		||||
				@refreshDataList="successSubmit"></add-or-update>
 | 
			
		||||
		</base-dialog>
 | 
			
		||||
	</div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import AddOrUpdate from './add-or-updata';
 | 
			
		||||
import basicPage from '@/mixins/basic-page';
 | 
			
		||||
import typeRule from './typeRule';
 | 
			
		||||
import {
 | 
			
		||||
	getRawOthercostRulePage,
 | 
			
		||||
} from '@/api/cost/rawOthercostRule';
 | 
			
		||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
			
		||||
 | 
			
		||||
const tableProps = [
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'name',
 | 
			
		||||
		label: '成本名称',
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'type',
 | 
			
		||||
		label: '自动计算方式',
 | 
			
		||||
		width: 220,
 | 
			
		||||
		subcomponent: typeRule,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'remark',
 | 
			
		||||
		label: '备注',
 | 
			
		||||
	},
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
	mixins: [basicPage,tableHeightMixin],
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			urlOptions: {
 | 
			
		||||
				getDataListURL: getRawOthercostRulePage,
 | 
			
		||||
				deleteURL: deleteCostMaterialSet,
 | 
			
		||||
			},
 | 
			
		||||
			tableProps,
 | 
			
		||||
			tableBtn: [
 | 
			
		||||
				this.$auth.hasPermi(`extend:cost-material-set:update`)
 | 
			
		||||
					? {
 | 
			
		||||
							type: 'edit',
 | 
			
		||||
							btnName: '编辑',
 | 
			
		||||
					  }
 | 
			
		||||
					: undefined,
 | 
			
		||||
			].filter((v) => v),
 | 
			
		||||
			tableData: [],
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
	components: {
 | 
			
		||||
		AddOrUpdate,
 | 
			
		||||
	},
 | 
			
		||||
	created() {
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
							
								
								
									
										31
									
								
								src/views/cost/raw/costOthercostRule/typeRule.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								src/views/cost/raw/costOthercostRule/typeRule.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2023-12-05 13:45:59
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2024-04-15 17:12:03
 | 
			
		||||
 * @Description
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
	<div>
 | 
			
		||||
		<span>
 | 
			
		||||
			{{
 | 
			
		||||
				injectData.type == 1
 | 
			
		||||
					? `每天等价,${injectData.price}元`
 | 
			
		||||
					: injectData.type == 2
 | 
			
		||||
					? `总价${injectData.price}元,年折旧率${injectData.ratio}%,折旧年限${injectData.timeLimit}年`
 | 
			
		||||
					: '-'
 | 
			
		||||
			}}
 | 
			
		||||
		</span>
 | 
			
		||||
	</div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
	name: '',
 | 
			
		||||
	props: {
 | 
			
		||||
		injectData: {
 | 
			
		||||
			type: Object,
 | 
			
		||||
			default: () => ({}),
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
		Reference in New Issue
	
	Block a user